perm filename TREESO.VLI[VLI,LSP] blob sn#382080 filedate 1978-09-08 generic text, type T, neo UTF8
(de sort (x) (flatten (mktree x nil)))

(de mktree (x a)
 (if (null x) a (mktree (cdr x) (add (car x) a))))

(de add (a u) (cond
  ((null u) [a nil nil])
  ((< a (car u)) [(car u) (add a (cadr u)) (caddr u)])
  (t [(car u) (cadr u) (add a (caddr u))])))

(de flatten (x)
  (if (null x) nil
      (append (flatten (cadr x)) (cons (car x) (flatten (caddr x))))))